<?php
/**
 * User: LRZ
 * Date: 2020/2/21
 * Time: 12:32
 */

/**
 *  633.平方数之和
 *
 *  标签：数学
 *
 *  给定一个非负整数 c ，你要判断是否存在两个整数 a 和 b，使得 a^2 + b^2 = c。
 *
 *  示例1:
 *      输入: 5
 *      输出: True
 *      解释: 1 * 1 + 2 * 2 = 5
 *   
 *  示例2:
 *      输入: 3
 *      输出: False
 *
 *  来源：力扣（LeetCode）
 *  链接：https://leetcode-cn.com/problems/sum-of-square-numbers
 *  著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

$start = microtime(true);

$c   = 0;
$res = judgeSquareSum($c);

$end = microtime(true);
print_r($res);
printf(' total run: %.2f s<br>' . 'memory usage: %.2f M<br> ', $end - $start, memory_get_usage() / 1024 / 1024);

function judgeSquareSum($c)
{
    for ($i = 0; $i * $i <= $c; $i++) {
        $b = sqrt($c - $i * $i);
        if ($b == (int)$b) {
            return true;
        }
    }
    return false;
}